Skip to main content

Reading

I primarily read on my Onyx Boox Go7, so this section will focus on that. The setup here should apply to all android devices, though.

Books

Hoshi Reader

Hoshi Reader is an app that loads epubs, provides an interface for Yomitan lookups and even supports Anki card creation. Combined with AnkiDroid, creating a card in Hoshi Reader is as simple as tapping the + button on a lookup.

Additionally for e-ink users, Hoshi Reader has a nice e-ink mode.

PopLingo

PopLingo is an android app that creates a floating sidebar that you can drag over words to get a lookup. Very useful outside of Hoshi.

Onyx-Specific

For Onyx readers, the aggressive auto-killing of apps will make AnkiDroid annoying to use as you will have to constantly re-open it for HoshiReader to call.

To fix this, tap and hold on AnkiDroid in the apps menu, go to Optimize, then Others, and set "Stay active in the background" to Unlimited. Also, make sure AnkiDroid isn't frozen.

Where to get epubs

  • Kobo
  • Google Books

Other than these, you'd be hard-pressed to find non-DRM epubs other than from less legal sources.

Visual Novels

Visual Novels are also great for learning as they provide you with context in the form of images in the background. The set up for this is more involved. I will discuss my setup on Linux.

Texthooking

To grab text from the visual novels, we need to use a text hooker. Firstly, getting visual novels to work on Linux is hit or miss. Most of the time, running it with Proton works, but sometimes it doesn't. That's the cost of using Linux, I suppose.

The texthooker I'm partial to is LunaTranslator, but Textractor and other texthookers work fine.

Most texthookers work by injecting a DLL into the running process to hook onto the calls that draw text onto the screen. This means they have to run in the same process namespace as the process it hooks onto. WINE creates a different process namespace for every wine prefix. Thus, to hook onto a running visual novel, you have to run the texthooker in the same process namespace. The way to do this will differ based on where the visual novel is started from.

Steam Games

Steam's prefixes are usually pretty hard to find. Luckily, there exists a tool for this: ProtonTricks. Using the protontricks-cli: protontricks-launch name_of_texthooker.exe, then select the visual novel you want to hook.o

Launchers

I'm guessing most people launch games through some sort of launcher, like heroic or faugus or lutris. These launchers all have their own ways of launching another app in the same prefix as the game, so look up their manuals.

OCR

As an alternative to texthooking, there is OCR. I use owocr. It can watch a region on your screen or your clipboard and use a variety of OCR backends.

On KDE, I set up a shortcut spectacle -rbcn to copy a region of my screen into the clipboard silently, and owocr OCRs that from my clipboard which then shows up in Yomitan. It's slightly more manual than texthooking but a lot easier to set up.

I hear on Windows GameSentenceMiner works better though.